#include "linked_common.h"
#include "sys_common.h"

int main(int, char**){
    //一、初始化管理员数组
    init_admin_array();

    //初始化学员
    init_student_array();
    //遍历管理员数组
    print_admin_array();   

    //二、管理员登录功能
    //定义开关，默认为关
    int login_state=0;
    //取反为开，进入
    while (!login_state)
    {   
        //再实际调用登录函数
        login_state=login_admin();
        //用实际的状态取反，如果是false就进入if判断，提示登录失败
        if (!login_state)
        {
            printf("登录失败，请重新输入！\n");
        }
    }
    //如果循环中if判断条件为false，实际登录函数就是true，则直接进行下一次循环，while也为false，则不循环执行下一步
    printf("登录成功！\n");

    //三、菜单显示
    show_menu();

    return 0;
    
}
//定义显示菜单函数
void show_menu(){
    //先输出菜单列表提示
    printf("1.查询所有学生信息\n");
    printf("2.根据ID查询学员信息\n");
    printf("3.添加学生信息\n");
    printf("4.根据ID修改学生信息\n");
    printf("5.根据ID删除学员\n");
    printf("6.退出系统\n");
    printf("请输入选项1~6:\n");

    //定义变量接受用户的选择
    int opr_no=0;
    //goto标签
    label_reinput:
    scanf("%d",&opr_no);

    //根据输入的数字进行选项
    switch (opr_no)
    {
        case 1:
            //查询所有学生信息
            show_student();
            break;
        case 2:
            //根据ID查询学生信息
            show_student_id();
            break;
        case 3:
            add_student();
            break;
        case 4:
            update_student();
            break;
        case 5:
            delete_student();
            break;
        case 6:
            printf("退出成功，欢迎下次使用\n");
            exit(EXIT_SUCCESS);
            break;
    
        default:
            printf("输入不合法，请重新输入1~6\n");
            goto label_reinput;
            break;
    }
}
